Various data extractors are known in the art. A data extractor is a program used to fill a given extractor structure with data from a database. The extracted data is provided from the source system to a data warehouse for the purposes of, for example, analysis and management information.
U.S. Pat. No. 6,470,333 shows a knowledge extraction system which includes an information retrieval apparatus for processing a query for retrieval of information from a database. The information retrieval apparatus has a mechanism for locating a number of features in an index database and an evaluating mechanism for identifying a number of sub-queries of a number of levels contained in the query and recursively evaluating the sub-queries using each of the located features. Further, it has a mechanism for collecting and storing a number of results of the recursive evaluation of the query and sub-queries pursuant to computing an overall result of the query. This system is aimed to eliminate the need of conventional retrieval systems for providing a new, separate, centralized replica within the data warehouse of the data stored in the diverse external databases.
U.S. Pat. No. 5,781,911 shows a method of automatic generation of data warehouses. An extractor is used to extract data from the data sources and to load them into data marts according to a schedule defined by a system administrator.
U.S. Pat. No. 6,493,720 shows a method for synchronization of meta data in an information catalog. At specified intervals, a tool that operates on an object is monitored to identify changes to meta data of that object. When changes to the meta data are identified, an information catalog containing corresponding meta data for the objects is updated.
Referring to FIG. 1, a block diagram is provided that illustrates the usage of extractors in the context of a conventional online transactional processing (OLTP) system. OLTP system 100 has data source 102 which can be provided by an online relational database. OLTP system has a number of extractors 104, 106, 108, etc., for various data extraction tasks. Each one of the extractors 104, 106, 108, has an extractor structure which is filled with data from data source 102 when the corresponding extractor is invoked.
The extractors 104, 106, 108, are used to provide data to data warehouse 110. In operation, data warehouse 110 invokes one of the extractors 104, 106, 108 by sending a corresponding request to OLTP system 100. Further, data warehouse 110 generates an empty extractor structure 112 that is identical to the extractor structure of the one of the extractors 104, 106, 108, which is invoked by the request. Extractor structure 112 serves to accommodate the data, which will be delivered from OLTP system 100 in response to the request.
The selected one of the extractors, for example, extractor 104, queries data source 102 in order to fill its extractor structure with data. This data is sent from the OLTP system 100 to data warehouse 110 where the data is stored in extractor structure 112.